#include "process.h"
#include <stdio.h>
#include <unistd.h>
#include <sys/wait.h> // 包含用于等待子进程的头文件

int processFunction(){
    // 创建第一个子进程
    pid_t child1_pid = fork();

    if (child1_pid == -1) {
        // fork() 失败时返回 -1，输出错误信息并退出程序
        perror("Error creating child process");
        return 1;
    }

    if (child1_pid == 0) {
        // 子进程 1 逻辑
        printf("Child 1: My PID is %d\n", getpid());
        // 子进程 1 执行完毕
        return 0;
    }

    // 创建第二个子进程
    pid_t child2_pid = fork();

    if (child2_pid == -1) {
        // fork() 失败时返回 -1，输出错误信息并退出程序
        perror("Error creating child process");
        return 1;
    }

    if (child2_pid == 0) {
        // 子进程 2 逻辑
        printf("Child 2: My PID is %d\n", getpid());
        // 子进程 2 执行完毕
        return 0;
    }

    // 父进程逻辑
    printf("Parent: My PID is %d\n", getpid());
    printf("Parent: Child 1 PID is %d, Child 2 PID is %d\n", child1_pid, child2_pid);

    // 等待两个子进程执行完毕
    wait(NULL); // 等待第一个子进程
    wait(NULL); // 等待第二个子进程

    return 0;
}

